package com.devenv.dto;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;

/**
 * 用户登录请求DTO
 * <p>
 * 用于接收用户登录时提交的凭证信息
 * </p>
 * 
 * @author DevEnv OpenSource Team
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
public class LoginRequest {
    
    @NotBlank(message = "用户名不能为空")
    private String username;
    
    @NotBlank(message = "密码不能为空")
    private String password;
    
    /**
     * 是否记住登录状态
     */
    private Boolean rememberMe = false;

    /**
     * 获取标准化的用户名（去除空格并转小写）
     */
    public String getNormalizedUsername() {
        return username != null ? username.trim().toLowerCase() : null;
    }

    /**
     * 检查是否需要记住登录状态
     */
    public boolean shouldRememberMe() {
        return Boolean.TRUE.equals(rememberMe);
    }
}
